home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_jvm8.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
18KB
|
918 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_jvm.h"
void r212with_capacity(T212* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}
T0* r212twin(T212* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T212*)R)=M212;
r212copy(((T212*)R),((T0*)C));
return R;
}
/*No:FIXED_ARRAY[MANIFEST_STRING].clear_all*/
void r212add_last(T212* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*12*/)+(1))<=(((C)->_capacity/*8*/)-(1))){
C->_upper=((C)->_upper/*12*/)+(1);
}
else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r213realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*12*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*4*/)[(C)->_upper/*12*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[MANIFEST_STRING].item*/
/*No:FIXED_ARRAY[MANIFEST_STRING].set_all_with*/
/*No:FIXED_ARRAY[MANIFEST_STRING].count*/
void r212resize(T212* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(/*(IRF4.6count*/((C)->_upper/*12*/)+(1)/*)*/)){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r213realloc((C)->_storage/*4*/,(C)->_capacity/*8*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*12*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*12*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.5put*/((C)->_storage/*4*/)[_i]=(_elt_default);
/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}
void r212make(T212* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
else if(((C)->_capacity/*8*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T212* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T212* C2=C1;
T0* c1=__value;
r213set_all_with((C2)->_storage/*4*/,c1,(C2)->_upper/*12*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[MANIFEST_STRING].upper*/
void r212copy(T212* C,T0* a1){
T2 _new_capacity=0;
T2 _other_upper=0;
_other_upper=(((T212*)a1))->_upper/*12*/;
/*[IF*/
if((_other_upper)>=(0)){
_new_capacity=(_other_upper)+(1);
/*[IF*/
if(((C)->_capacity/*8*/)<(_new_capacity)){
C->_capacity=_new_capacity;
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else if(((C)->_capacity/*8*/)>(0)){
r213clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
r213copy_from((C)->_storage/*4*/,(((T212*)a1))->_storage/*4*/,_other_upper);
}
else if(((C)->_capacity/*8*/)>(0)){
r213clear_all((C)->_storage/*4*/,((C)->_capacity/*8*/)-(1));
}
/*FI]*/
C->_upper=_other_upper;
}
/*No:FIXED_ARRAY[MANIFEST_STRING].capacity*/
/*No:FIXED_ARRAY[MANIFEST_STRING].put*/
/*No:FIXED_ARRAY[MANIFEST_STRING].storage*/
/*No:ARRAY[BOOLEAN].clear_all*/
void r370force(T370* C,T6 a1,T2 a2){
/*[IF*/
if(((C)->_upper/*8*/)<(a2)){
r370resize(C,(C)->_lower/*12*/,a2);
}
else if((a2)<((C)->_lower/*12*/)){
r370resize(C,a2,(C)->_upper/*8*/);
}
/*FI]*/
/*[IRF3.6put*/{T370* C1=C;
T6 b1=a1;
T2 b2=a2;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
/*No:ARRAY[BOOLEAN].set_all_with*/
T6 r370item(T370* C,T2 a1){
T6 R=0;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
T6 r370valid_index(T370* C,T2 a1){
T6 R=0;
R=(((C)->_lower/*12*/)<=(a1))&&((a1)<=((C)->_upper/*8*/));
return R;
}
void r370set_slice_with(T370* C,T6 a1,T2 a2,T2 a3){
T2 _i=0;
_i=a2;
while (!((_i)>(a3))) {
/*[IRF3.6put*/{T370* C1=C;
T6 b1=a1;
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
}
/*No:ARRAY[BOOLEAN].lower*/
void r370resize(T370* C,T2 a1,T2 a2){
T2 _intersize=0;
T2 _offset=0;
T2 _needed=0;
_needed=((a2)-(a1))+(1);
/*[IF*/
if((_needed)>(0)){
/*[IF*/
if((_needed)>((C)->_capacity/*4*/)){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(_needed,sizeof(T6));
C->_capacity=_needed;
}
else{
C->_storage=r371realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_needed);
C->_capacity=_needed;
}
/*FI]*/
}
/*FI]*/
_offset=((C)->_lower/*12*/)-(a1);
_intersize=((r2min(a2,(C)->_upper/*8*/))-(r2max(a1,(C)->_lower/*12*/)))+(1);
/*[IF*/
if((_intersize)>(0)){
/*[IF*/
if((_offset)==(0)){
/*[IF*/
if((_intersize)<(_needed)){
r371clear((C)->_storage/*0*/,_intersize,(_needed)-(1));
}
/*FI]*/
}
else if((_offset)<(0)){
r371move((C)->_storage/*0*/,-(_offset),((_intersize)-(_offset))-(1),_offset);
/*[IF*/
if((_intersize)<(_needed)){
r371clear((C)->_storage/*0*/,_intersize,(_needed)-(1));
}
/*FI]*/
}
else{
r371move((C)->_storage/*0*/,0,(_intersize)-(1),_offset);
r371clear((C)->_storage/*0*/,0,(_offset)-(1));
/*[IF*/
if(((_intersize)+(_offset))<(_needed)){
r371clear((C)->_storage/*0*/,(_intersize)+(_offset),(_needed)-(1));
}
/*FI]*/
}
/*FI]*/
}
else{
r371clear((C)->_storage/*0*/,0,(_needed)-(1));
}
/*FI]*/
}
/*FI]*/
C->_lower=a1;
C->_upper=a2;
}
void r370make(T370* C,T2 a1,T2 a2){
T2 _needed=0;
C->_lower=a1;
C->_upper=a2;
_needed=((a2)-(a1))+(1);
/*[IF*/
if((_needed)>(0)){
/*[IF*/
if(((C)->_capacity/*4*/)<(_needed)){
C->_storage=calloc(_needed,sizeof(T6));
C->_capacity=_needed;
}
else{
/*[IRF3.6clear_all*/{T370* C1=C;
T6 __value=0;
/*[IRF3.6set_all_with*/{T370* C2=C1;
T6 c1=__value;
r371set_all_with((C2)->_storage/*0*/,c1,((C2)->_upper/*8*/)-((C2)->_lower/*12*/));
}/*]*/
}/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:ARRAY[BOOLEAN].upper*/
/*No:ARRAY[BOOLEAN].capacity*/
/*No:ARRAY[BOOLEAN].put*/
/*No:ARRAY[BOOLEAN].storage*/
void r175add_last(T175* C,T2 a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r175count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T2));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r49realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T175* C1=C;
T2 b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
T2 r175count(T175* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[INTEGER].lower*/
/*No:ARRAY[INTEGER].upper*/
/*No:ARRAY[INTEGER].capacity*/
/*No:ARRAY[INTEGER].put*/
/*No:ARRAY[INTEGER].storage*/
void r344with_capacity(T344* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}
void r344add_last(T344* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*8*/)+(1))<=(((C)->_capacity/*4*/)-(1))){
C->_upper=((C)->_upper/*8*/)+(1);
}
else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r84realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*8*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(C)->_upper/*8*/]=(a1);
/*]*/
}
void r344remove_last(T344* C){
C->_upper=((C)->_upper/*8*/)-(1);
}
/*No:FIXED_ARRAY[PARENT].item*/
T0* r344last(T344* C){
T0* R=NULL;
R=/*(IRF4.6item*/((C)->_storage/*0*/)[(C)->_upper/*8*/]/*)*/;
return R;
}
/*No:FIXED_ARRAY[PARENT].count*/
/*No:FIXED_ARRAY[PARENT].upper*/
/*No:FIXED_ARRAY[PARENT].clear*/
T6 r344empty(T344* C){
T6 R=0;
R=(/*(IRF4.6count*/((C)->_upper/*8*/)+(1)/*)*/)==(0);
return R;
}
/*No:FIXED_ARRAY[PARENT].capacity*/
/*No:FIXED_ARRAY[PARENT].put*/
/*No:FIXED_ARRAY[PARENT].storage*/
void r68with_capacity(T68* C,T2 a1){
/*[IF*/
if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_upper=-(1);
}
/*No:FIXED_ARRAY[STRING].clear_all*/
void r68add_last(T68* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if((((C)->_upper/*8*/)+(1))<=(((C)->_capacity/*4*/)-(1))){
C->_upper=((C)->_upper/*8*/)+(1);
}
else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r69realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((C)->_upper/*8*/)+(1);
}
/*FI]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(C)->_upper/*8*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[STRING].item*/
/*No:FIXED_ARRAY[STRING].set_all_with*/
T6 r68valid_index(T68* C,T2 a1){
T6 R=0;
R=((0)<=(a1))&&((a1)<=((C)->_upper/*8*/));
return R;
}
/*No:FIXED_ARRAY[STRING].lower*/
/*No:FIXED_ARRAY[STRING].count*/
void r68resize(T68* C,T2 a1){
T0* _elt_default=NULL;
T2 _i=0;
T2 _new_capacity=0;
/*[IF*/
if((a1)<=(/*(IRF4.6count*/((C)->_upper/*8*/)+(1)/*)*/)){
C->_upper=(a1)-(1);
}
else{
_new_capacity=a1;
/*[IF*/
if(((C)->_capacity/*4*/)<(_new_capacity)){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(_new_capacity,sizeof(T0*));
}
else{
C->_storage=r69realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
}
/*FI]*/
C->_capacity=_new_capacity;
}
/*FI]*/
_new_capacity=(C)->_upper/*8*/;
C->_upper=(a1)-(1);
_i=(C)->_upper/*8*/;
while (!((_i)==(_new_capacity))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[_i]=(_elt_default);
/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}
T6 r68fast_has(T68* C,T0* a1){
T6 R=0;
R=r68valid_index(C,r68fast_index_of(C,a1));
return R;
}
void r68make(T68* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T68* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T68* C2=C1;
T0* c1=__value;
r69set_all_with((C2)->_storage/*0*/,c1,(C2)->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
T2 r68fast_index_of(T68* C,T0* a1){
T2 R=0;
R=r69fast_index_of((C)->_storage/*0*/,a1,(C)->_upper/*8*/);
return R;
}
/*No:FIXED_ARRAY[STRING].upper*/
/*No:FIXED_ARRAY[STRING].capacity*/
/*No:FIXED_ARRAY[STRING].put*/
/*No:FIXED_ARRAY[STRING].storage*/
void r83add_last(T83* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r83count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r84realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T83* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
T0* r83item(T83* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
T0* r83first(T83* C){
T0* R=NULL;
R=r83item(C,(C)->_lower/*12*/);
return R;
}
T2 r83count(T83* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[PARENT].lower*/
/*No:ARRAY[PARENT].upper*/
/*No:ARRAY[PARENT].capacity*/
/*No:ARRAY[PARENT].put*/
/*No:ARRAY[PARENT].storage*/
void r73with_capacity(T73* C,T2 a1,T2 a2){
/*[IF*/
if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI]*/
C->_lower=a2;
C->_upper=(a2)-(1);
}
void r73add_last(T73* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r73count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r69realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T73* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
T0* r73item(T73* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
T6 r73valid_index(T73* C,T2 a1){
T6 R=0;
R=(((C)->_lower/*12*/)<=(a1))&&((a1)<=((C)->_upper/*8*/));
return R;
}
T2 r73count(T73* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[STRING].lower*/
T6 r73fast_has(T73* C,T0* a1){
T6 R=0;
R=r73valid_index(C,r73fast_index_of(C,a1));
return R;
}
T2 r73fast_index_of(T73* C,T0* a1){
T2 R=0;
R=((C)->_lower/*12*/)+(r69fast_index_of((C)->_storage/*0*/,a1,((C)->_upper/*8*/)-((C)->_lower/*12*/)));
return R;
}
/*No:ARRAY[STRING].upper*/
T2 r73index_of(T73* C,T0* a1){
T2 R=0;
R=((C)->_lower/*12*/)+(r69index_of((C)->_storage/*0*/,a1,((C)->_upper/*8*/)-((C)->_lower/*12*/)));
return R;
}
/*No:ARRAY[STRING].capacity*/
/*No:ARRAY[STRING].put*/
/*No:ARRAY[STRING].storage*/
T0* r239twin(T239* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T239*)R)=M239;
r239copy(((T239*)R),((T0*)C));
return R;
}
void r239add_last(T239* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r239count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r240realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T239* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
T0* r239item(T239* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
T2 r239count(T239* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[E_WHEN].lower*/
/*No:ARRAY[E_WHEN].upper*/
void r239copy(T239* C,T0* a1){
T2 _needed_capacity=0;
C->_lower=(((T239*)a1))->_lower/*12*/;
C->_upper=(((T239*)a1))->_upper/*8*/;
_needed_capacity=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
/*[IF*/
if(((C)->_capacity/*4*/)<(_needed_capacity)){
C->_capacity=_needed_capacity;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
/*FI]*/
/*[IF*/
if((_needed_capacity)>(0)){
r240copy_from((C)->_storage/*0*/,(((T239*)a1))->_storage/*0*/,(_needed_capacity)-(1));
}
/*FI]*/
}
/*No:ARRAY[E_WHEN].capacity*/
/*No:ARRAY[E_WHEN].put*/
/*No:ARRAY[E_WHEN].storage*/
T0* r232twin(T232* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T232*)R)=M232;
r232copy(((T232*)R),((T0*)C));
return R;
}
void r232add_last(T232* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r232count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r233realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T232* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
T0* r232item(T232* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
T2 r232count(T232* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[IFTHEN].lower*/
/*No:ARRAY[IFTHEN].upper*/
void r232copy(T232* C,T0* a1){
T2 _needed_capacity=0;
C->_lower=(((T232*)a1))->_lower/*12*/;
C->_upper=(((T232*)a1))->_upper/*8*/;
_needed_capacity=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
/*[IF*/
if(((C)->_capacity/*4*/)<(_needed_capacity)){
C->_capacity=_needed_capacity;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
/*FI]*/
/*[IF*/
if((_needed_capacity)>(0)){
r233copy_from((C)->_storage/*0*/,(((T232*)a1))->_storage/*0*/,(_needed_capacity)-(1));
}
/*FI]*/
}
/*No:ARRAY[IFTHEN].capacity*/
/*No:ARRAY[IFTHEN].put*/
/*No:ARRAY[IFTHEN].storage*/
/*No:ARRAY[E_REQUIRE].clear_all*/
void r365add_last(T365* C,T0* a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*4*/)<((r365count(C))+(1))){
/*[IF*/
if(((C)->_capacity/*4*/)==(0)){
C->_capacity=16;
C->_storage=calloc((C)->_capacity/*4*/,sizeof(T0*));
}
else{
_new_capacity=(2)*((C)->_capacity/*4*/);
C->_storage=r366realloc((C)->_storage/*0*/,(C)->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
}
/*FI]*/
C->_upper=((C)->_upper/*8*/)+(1);
/*[IRF3.6put*/{T365* C1=C;
T0* b1=a1;
T2 b2=(C)->_upper/*8*/;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
T0* r365item(T365* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
/*No:ARRAY[E_REQUIRE].set_all_with*/
T6 r365valid_index(T365* C,T2 a1){
T6 R=0;
R=(((C)->_lower/*12*/)<=(a1))&&((a1)<=((C)->_upper/*8*/));
return R;
}
T0* r365first(T365* C){
T0* R=NULL;
R=r365item(C,(C)->_lower/*12*/);
return R;
}
T2 r365count(T365* C){
T2 R=0;
R=(((C)->_upper/*8*/)-((C)->_lower/*12*/))+(1);
return R;
}
/*No:ARRAY[E_REQUIRE].lower*/
T6 r365fast_has(T365* C,T0* a1){
T6 R=0;
R=r365valid_index(C,r365fast_index_of(C,a1));
return R;
}
void r365make(T365* C,T2 a1,T2 a2){
T2 _needed=0;
C->_lower=a1;
C->_upper=a2;
_needed=((a2)-(a1))+(1);
/*[IF*/
if((_needed)>(0)){
/*[IF*/
if(((C)->_capacity/*4*/)<(_needed)){
C->_storage=calloc(_needed,sizeof(T0*));
C->_capacity=_needed;
}
else{
/*[IRF3.6clear_all*/{T365* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T365* C2=C1;
T0* c1=__value;
r366set_all_with((C2)->_storage/*0*/,c1,((C2)->_upper/*8*/)-((C2)->_lower/*12*/));
}/*]*/
}/*]*/
}
/*FI]*/
}
/*FI]*/
}
T2 r365fast_index_of(T365* C,T0* a1){
T2 R=0;
R=((C)->_lower/*12*/)+(r366fast_index_of((C)->_storage/*0*/,a1,((C)->_upper/*8*/)-((C)->_lower/*12*/)));
return R;
}
/*No:ARRAY[E_REQUIRE].upper*/
void r365clear(T365* C){
C->_upper=((C)->_lower/*12*/)-(1);
}
T6 r365empty(T365* C){
T6 R=0;
R=(r365count(C))==(0);
return R;
}
/*No:ARRAY[E_REQUIRE].capacity*/
/*No:ARRAY[E_REQUIRE].put*/
/*No:ARRAY[E_REQUIRE].storage*/